/**
 * PHOSIDE: PHosphorylation Site IDentification Engine.
 * Copyright 2009 Digital Biology Lab, University of Missouri.
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 3 of the License, or (at your option) any later
 * version. <p/> This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more
 * details.
 */

package phoside.ui.task;

import java.util.List;

import phoside.Phoside;

import phoside.model.PhosideModel;

/**
 *
 */
public class ModelLoadingTask extends AbstractTask {
    private String modelFile;

    
    public ModelLoadingTask(String modelFile) {
        super("Model loading");
        this.modelFile = modelFile;
    }

    /**
     * Executes Task.
     */
    //@Override
    public void run() {
        try {
            taskMonitor.setStatus("Loading "+modelFile+" ...");
            taskMonitor.setPercentCompleted(-1);
            obj = Phoside.getModelManager().loadModels(modelFile);
            taskMonitor.setPercentCompleted(100);
            taskMonitor.setStatus("Loaded.");

            success = true;
        } catch (Exception e) {
            taskMonitor.setPercentCompleted(100);
            taskMonitor.setStatus("Failed to Load.\n"+e.getMessage());
            e.printStackTrace();
            return;
        }
    }

    public List<PhosideModel> getModel() {
        return (List<PhosideModel>)obj;
    }
}
